/*
  统计量
  题目描述
    小 D 的学校近期组织了一次学生知识竞赛，竞赛分为数学竞赛和语文竞赛两个环节，
    竞赛结果会统计两个环节的总分。
    现在，老师想请你通过编程帮他统计这次竞赛总成绩的中位数。你能顺利完成这个任务吗？
    注意：中位数是指将所有数字从小到大排序后，恰好位于中间位置的数，但如果数字个数为偶数，
          中位数需要计算中间两个数字的平均数。
  输入描述
    第一行包括一个整数 n，表示共有 n 个学生参加知识竞赛(为了保证输出为整数，这里的 n 为奇数)；
    第二行，包括 n 个用空格隔开的数，表示这 n 个学生的数学竞赛得分；
    第三行，包括 n 个用空格隔开的数，表示这 n 个学生的语文竞赛得分；
  输出描述
    一行，一个整数，表示 n 个学生知识竞赛总分的中位数。（输入数据保证结果为整数）
  样例1
    输入
      5
      99 33 76 82 42
      67 66 89 100 38
    输出
      165
  提示
    共有 5 个学生的知识竞赛的数学和语文成绩，计算总分得到：166、99、165、182、80，其中中位数为 165。
    1 ≤ n ≤ 10^6；
    0 ≤ 语文竞赛成绩 ≤ 100；
    0 ≤ 数学竞赛成绩 ≤ 100。
*/

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int n;
    int x;
    long a[1000000];

    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int i = 0; i < n; i++) {
        cin >> x;
        a[i] = a[i]+x;
    }

    // 对数组 a 中各元素的值按从小到大的顺序进行排序
    sort(a, a + n);

    if (n % 2 != 0) {
        cout << a[(n - 1) / 2]; // 特别注意: 这里的下标应该使用什么值!
    } else {
        int x;
        x = a[(n - 1) / 2] + a[(n - 1) / 2 + 1];
        cout << x/2;
    }

    return 0;
}